﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Entity
{
    /// <summary>
    /// Liste les valeurs possibles pour le champs "filliere" de la table Utilisateur.
    /// Permet également de servir de DataSource dans les pages.
    /// </summary>
    public class Filliere
    {

        /// <summary>
        /// La fillière IRC.
        /// </summary>
        public const string IRC = "IRC";

        /// <summary>
        /// La fillière ETI.
        /// </summary>
        public const string ETI = "ETI";

        /// <summary>
        /// La fillière CGP.
        /// </summary>
        public const string CGP = "CGP";


        /// <summary>
        /// Retourne une liste de toutes les fillières.
        /// </summary>
        /// <returns></returns>
        public static List<string> getFillieres()
        {
            List<string> fillieres = new List<string>();
            fillieres.Add(IRC);
            fillieres.Add(ETI);
            fillieres.Add(CGP);
            return fillieres;
        }

        /// <summary>
        /// Retourne une liste de toutes les fillières avec libellé associé.
        /// </summary>
        /// <returns>Une liste de fillières avec libellé associé</returns>
        public static List<FilliereDescription> getFillieresDescriptions()
        {
            List<FilliereDescription> fillieres = new List<FilliereDescription>();
            fillieres.Add(new FilliereDescription("IRC - Informatique et Réseaux de Télécommunication", IRC));
            fillieres.Add(new FilliereDescription("ETI - Electronique et Technologie de l'Information", ETI));
            fillieres.Add(new FilliereDescription("CGP - Chimie et Gestion de Production", CGP));
            return fillieres;
        }

        /// <summary>
        /// Associe un libellé à une valeur de fillière.
        /// </summary>
        public class FilliereDescription
        {
            public String Libelle { get; set; }
            public String Valeur { get; set; }

            public FilliereDescription(string libelle, string valeur)
            {
                this.Libelle = libelle;
                this.Valeur = valeur;
            }
        }

    }
}
